Techniques For Detecting Errors Or Loss Of Accuracy In A Surgical Robotic System

ABSTRACT

Systems and methods for operating a robotic surgical system are provided. The system includes a surgical tool, a manipulator comprising links for controlling the tool, a navigation system includes a tracker and a localizer to monitor a state of the tracker. Controller(s) determine a relationship between one or more components of the manipulator and one or more components of the navigation system by utilizing kinematic measurement data from the manipulator and navigation data from the navigation system. The controller(s) utilize the relationship to determine whether an error has occurred relating to at least one of the manipulator and the navigation system. The error is at least one of undesired movement of the manipulator, undesired movement of the localizer, failure of any one or more components of the manipulator or the localizer, and/or improper calibration data.

CROSS-REFERENCE TO RELATED APPLICATIONS

The subject application is a continuation of U.S. patent applicationSer. No. 16/848,204, filed Apr. 14, 2020, which claims priority to U.S.patent application Ser. No. 15/840,258, filed Dec. 13, 2017, whichclaims priority to and all the benefits of U.S. Provisional PatentApplication No. 62/435,258, filed on Dec. 16, 2016, the contents of theaforementioned applications being hereby incorporated by reference intheir entirety.

TECHNICAL FIELD

The present disclosure relates generally to techniques for detectingerrors or loss of accuracy in a surgical robotic system.

BACKGROUND

Robotic systems are commonly used to perform surgical procedures andtypically include a robot comprising a robotic arm and a tool coupled toan end of the robotic arm for engaging a surgical site. Often, atracking system, such as optical localization, is utilized to trackpositioning of the robot and the surgical site. Kinematic data from therobot may be aggregated with data from the tracking system to updatepositioning of the robot or for redundant position detection. Trackingsystems often track the robot at much higher speeds than the robot canrespond. This high speed tracking data is often unsuitable to beutilized directly by the robot, due to both noise and control systemstability issues. In many cases, low-pass filtering is used to reducethe noise levels, which improves the signal-to-noise ratio of thecommands given to the robot and results in smoother movement andimproved performance of the robot arm. In addition, since the trackingsystem measurement of the tool is part of an outer positioning loop, itis important to not close this outer loop at a higher bandwidth than therobot is capable of responding. The aforementioned low-pass filter alsoserves this purpose as a control system compensator, effectivelylowering the bandwidth of the outer loop to that needed to ensure stableperformance. As a result, updating position of the robot based on datafrom the tracking system has delays due to the filtering of the data.

Although such systems may update the steady state positioning or detectstatic positioning errors using this technique, such systems are notequipped to determine whether errors or loss of system accuracy hasoccurred in the system in real time. Instead, such techniques detecterrors only after data from the tracking system is filtered orcompensated based on control needs of the robot. In other words, anydetection of errors in such systems is delayed. Such delay in detectingerrors may result in damage to the system or the surgical site, even ifsuch delay is merely hundreds of milliseconds.

As such, there is a need in the art for systems and methods foraddressing at least the aforementioned problems.

SUMMARY

One example of a robotic surgical system is provided. The roboticsurgical system comprises a surgical tool; a manipulator comprising aplurality of links and being configured to support the surgical tool; anavigation system comprising a tracker and a localizer being configuredto monitor a state of the tracker; and one or more controllers coupledto the manipulator and the navigation system and being configured to:determine a relationship between one or more components of themanipulator and one or more components of the navigation system by beingconfigured to utilize kinematic measurement data from the manipulatorand navigation data from the navigation system; and utilize therelationship to determine whether an error has occurred relating to atleast one of the manipulator and the navigation system, wherein theerror is defined as at least one of: undesired movement of themanipulator; undesired movement of the localizer; failure of any one ormore components of the manipulator or the localizer; and impropercalibration data.

One example of a method of operating a robotic surgical system isprovided. The robotic surgical system comprises a surgical tool, amanipulator comprising a plurality of links and being configured tosupport the surgical tool, a navigation system comprising a tracker anda localizer being configured to monitor a state of the tracker, and oneor more controllers coupled to the manipulator and the navigationsystem, the method comprising the one or more controllers: determining arelationship between one or more components of the manipulator and oneor more components of the navigation system by utilizing kinematicmeasurement data from the manipulator and navigation data from thenavigation system; and utilizing the relationship for determiningwhether an error has occurred relating to at least one of themanipulator and the navigation system, wherein the error is defined asat least one of: undesired movement of the manipulator; undesiredmovement of the localizer; failure of any one or more components of themanipulator or the localizer; and improper calibration data.

Another example of a method of operating a robotic surgical system isprovided. The robotic surgical system comprises a surgical tool, amanipulator comprising a base and a plurality of links and beingconfigured to support the surgical tool, a navigation system comprisinga tracker and a localizer being configured to monitor a state of thetracker, and one or more controllers coupled to the manipulator and thenavigation system, the method comprising the one or more controllers:determining values of a first transform between a state of the base ofthe manipulator and a state of a either the localizer or the tracker ofthe navigation system; determining values of a second transform betweenthe state of the localizer and the state of the tracker; and combiningvalues of the first and second transforms to determine whether an errorhas occurred relating to at least one of the manipulator and thelocalizer.

BRIEF DESCRIPTION OF THE DRAWINGS

Advantages of the present invention will be readily appreciated as thesame becomes better understood by reference to the following detaileddescription when considered in connection with the accompanying drawingswherein:

FIG. 1 is a perspective view of a robotic surgical system for treatingan anatomy of a patient with a tool, according to one embodiment of theinvention.

FIG. 2 is a block diagram of a controller for controlling the roboticsurgical system and for detecting errors or loss in accuracy of thesame, according to one embodiment of the invention.

FIG. 3 is a perspective view illustrating transforms between amanipulator and a navigation system of the robotic surgical system,according to one embodiment of the invention.

FIG. 4 is a block diagram of techniques, implemented by the controller,for fusing data from the manipulator and the navigation system tocontrol the manipulator and for detecting error or loss of accuracy,according to one embodiment.

FIG. 5 is a diagram comparing signal of a first filtered transform and araw transform (or second filtered transform) between a base of themanipulator and a localizer of the navigation system over time,according to one embodiment.

FIG. 6 is a diagram of a signal representing variation over time betweenthe transforms of FIG. 5 wherein the variation is compared with apredetermined threshold for determining whether an error or loss ofaccuracy has occurred, according to one embodiment.

DETAILED DESCRIPTION

I. Overview

Referring to the Figures, wherein like numerals indicate like orcorresponding parts throughout the several views, a robotic surgicalsystem 10 (hereinafter “system”) and method for operating the system 10and detecting errors or loss in accuracy of the system 10 are shownthroughout.

As shown in FIG. 1, the system 10 is a robotic surgical system fortreating an anatomy of a patient 12, such as bone or soft tissue. InFIG. 1, the patient 12 is undergoing a surgical procedure. The anatomyin FIG. 1 includes a femur (F) and a tibia (T) of the patient 12. Thesurgical procedure may involve tissue removal or treatment. Treatmentmay include cutting, coagulating, lesioning the tissue, treatment inplace of tissue, or the like. In some embodiments, the surgicalprocedure involves partial or total knee or hip replacement surgery. Inone embodiment, the system 10 is designed to cut away material to bereplaced by surgical implants such as hip and knee implants, includingunicompartmental, bicompartmental, multicompartmental, or total kneeimplants. Some of these types of implants are shown in U.S. PatentApplication Publication No. 2012/0330429, entitled, “Prosthetic Implantand Method of Implantation,” the disclosure of which is herebyincorporated by reference. Those skilled in the art appreciate that thesystem 10 and method disclosed herein may be used to perform otherprocedures, surgical or non-surgical, or may be used in industrialapplications or other applications where robotic systems are utilized.

The system 10 includes a manipulator 14. The manipulator 14 has a base16 and plurality of links 18. A manipulator cart 17 supports themanipulator 14 such that the manipulator 14 is fixed to the manipulatorcart 17. The links 18 collectively form one or more arms of themanipulator 14. The manipulator 14 may have a serial arm configuration(as shown in FIG. 1) or a parallel arm configuration. In otherembodiments, more than one manipulator 14 may be utilized in a multiplearm configuration. The manipulator 14 comprises a plurality of joints(J) and a plurality of joint encoders 19 located at the joints (J) fordetermining position data of the joints (J). For simplicity, only onejoint encoder 19 is illustrated in FIG. 1, although it is to beappreciated that the other joint encoders 19 may be similarlyillustrated. The manipulator 14 according to one embodiment has sixjoints (J1-J6) implementing at least six-degrees of freedom (DOF) forthe manipulator 14. However, the manipulator 14 may have any number ofdegrees of freedom and may have any suitable number of joints (J) andredundant joints (J).

The base 16 of the manipulator 14 is generally a portion of themanipulator 14 that is stationary during usage thereby providing a fixedreference coordinate system (i.e., a virtual zero pose) for othercomponents of the manipulator 14 or the system 10 in general. Generally,the origin of the manipulator coordinate system MNPL is defined at thefixed reference of the base 16. The base 16 may be defined with respectto any suitable portion of the manipulator 14, such as one or more ofthe links 18. Alternatively, or additionally, the base 16 may be definedwith respect to the manipulator cart 17, such as where the manipulator14 is physically attached to the cart 17. In a preferred embodiment, thebase 16 is defined at an intersection of the axes of joints J1 and J2(see FIG. 3). Thus, although joints J1 and J2 are moving components inreality, the intersection of the axes of joints J1 and J2 isnevertheless a virtual fixed reference point which does not move in themanipulator coordinate system MNPL.

A surgical tool 20 (hereinafter “tool”) couples to the manipulator 14and is movable relative to the base 16 to interact with the anatomy incertain modes. The tool 20 is or forms part of an end effector 22. Thetool 20 may be grasped by the operator in certain modes. One exemplaryarrangement of the manipulator 14 and the tool 20 is described in U.S.Pat. No. 9,119,655, entitled, “Surgical Manipulator Capable ofControlling a Surgical Instrument in Multiple Modes,” the disclosure ofwhich is hereby incorporated by reference. The manipulator 14 and thetool 20 may be arranged in alternative configurations. The tool 20 canbe like that shown in U.S. Patent Application Publication No.2014/0276949, filed on Mar. 15, 2014, entitled, “End Effector of aSurgical Robotic Manipulator,” hereby incorporated by reference. Thetool 20 includes an energy applicator 24 designed to contact the tissueof the patient 12 at the surgical site. The energy applicator 24 may bea drill, a saw blade, a bur, an ultrasonic vibrating tip, or the like.The manipulator 14 and/or manipulator cart 17 house a manipulatorcomputer 26, or other type of control unit. The tool 20 comprises a TCP,which in one embodiment, is a predetermined reference point defined atthe energy applicator 24. The TCP has known position in its owncoordinate system. In one embodiment, the TCP is assumed to be locatedat the center of a spherical feature of the tool 20 such that only onepoint is tracked. The TCP may relate to a bur having a specifieddiameter.

Referring to FIG. 2, the system 10 includes a controller 30. Thecontroller 30 includes software and/or hardware for controlling themanipulator 14. The controller 30 directs the motion of the manipulator14 and controls a state (position and/or orientation) of the tool 20with respect to a coordinate system. In one embodiment, the coordinatesystem is a manipulator coordinate system MNPL, as shown in FIG. 1. Themanipulator coordinate system MNPL has an origin located at any suitablepose with respect to the manipulator 14. Axes of the manipulatorcoordinate system MNPL may be arbitrarily chosen as well. Generally, theorigin of the manipulator coordinate system MNPL is defined at the fixedreference point of the base 16. One example of the manipulatorcoordinate system MNPL is described in U.S. Pat. No. 9,119,655,entitled, “Surgical Manipulator Capable of Controlling a SurgicalInstrument in Multiple Modes,” the disclosure of which is herebyincorporated by reference.

As shown in FIG. 1, the system 10 further includes a navigation system32. One example of the navigation system 32 is described in U.S. Pat.No. 9,008,757, filed on Sep. 24, 2013, entitled, “Navigation SystemIncluding Optical and Non-Optical Sensors,” hereby incorporated byreference. The navigation system 32 is configured to track movement ofvarious objects. Such objects include, for example, the tool 20 and theanatomy, e.g., femur F and tibia T. The navigation system 32 tracksthese objects to gather state information of each object with respect toa (navigation) localizer coordinate system LCLZ. Coordinates in thelocalizer coordinate system LCLZ may be transformed to the manipulatorcoordinate system MNPL, and/or vice-versa, using transformationtechniques described herein.

The navigation system 32 includes a cart assembly 34 that houses anavigation computer 36, and/or other types of control units. Anavigation interface is in operative communication with the navigationcomputer 36. The navigation interface includes one or more displays 38.The navigation system 32 is capable of displaying a graphicalrepresentation of the relative states of the tracked objects to theoperator using the one or more displays 38. First and second inputdevices 40, 42 may be used to input information into the navigationcomputer 36 or otherwise to select/control certain aspects of thenavigation computer 36. As shown in FIG. 1, such input devices 40, 42include interactive touchscreen displays. However, the input devices 40,42 may include any one or more of a keyboard, a mouse, a microphone(voice-activation), gesture control devices, and the like. Thecontroller 30 may be implemented on any suitable device or devices inthe system 10, including, but not limited to, the manipulator computer26, the navigation computer 36, and any combination thereof.

The navigation system 32 also includes a navigation localizer 44(hereinafter “localizer”) that communicates with the navigation computer36. In one embodiment, the localizer 44 is an optical localizer andincludes a camera unit 46. The camera unit 46 has an outer casing 48that houses one or more optical sensors 50.

The navigation system 32 includes one or more trackers. In oneembodiment, the trackers include a pointer tracker PT, a tool tracker52, a first patient tracker 54, and a second patient tracker 56. In theillustrated embodiment of FIG. 1, the tool tracker 52 is firmly attachedto the tool 20, the first patient tracker 54 is firmly affixed to thefemur F of the patient 12, and the second patient tracker 56 is firmlyaffixed to the tibia T of the patient 12. In this embodiment, thepatient trackers 54, 56 are firmly affixed to sections of bone. Thepointer tracker PT is firmly affixed to a pointer P used for registeringthe anatomy to the localizer coordinate system LCLZ. Those skilled inthe art appreciate that the trackers 52, 54, 56, PT may be fixed totheir respective components in any suitable manner Additionally, thenavigation system 32 may include trackers for other components of thesystem, including, but not limited to, the base 16, the cart 17, and anyone or more links 18 of the manipulator 14.

Any one or more of the trackers may include active markers 58. Theactive markers 58 may include light emitting diodes (LEDs).Alternatively, the trackers 52, 54, 56 may have passive markers, such asreflectors, which reflect light emitted from the camera unit 46. Othersuitable markers not specifically described herein may be utilized.

The localizer 44 tracks the trackers 52, 54, 56 to determine a state ofeach of the trackers 52, 54, 56, which correspond respectively to thestate of the tool 20, the femur (F) and the tibia (T). The localizer 44provides the state of the trackers 52, 54, 56 to the navigation computer36. In one embodiment, the navigation computer 36 determines andcommunicates the state the trackers 52, 54, 56 to the manipulatorcomputer 26. As used herein, the state of an object includes, but is notlimited to, data that defines the position and/or orientation of thetracked object or equivalents/derivatives of the position and/ororientation. For example, the state may be a pose of the object, and mayinclude linear data, and/or angular velocity data, and the like.

Although one embodiment of the navigation system 32 is shown in theFigures, the navigation system 32 may have any other suitableconfiguration for tracking the tool 20 and the patient 12. In oneembodiment, the navigation system 32 and/or localizer 44 areultrasound-based. For example, the navigation system 32 may comprise anultrasound imaging device coupled to the navigation computer 36. Theultrasound imaging device images any of the aforementioned objects,e.g., the tool 20 and the patient 12 and generates state signals to thecontroller 30 based on the ultrasound images. The ultrasound images maybe 2-D, 3-D, or a combination of both. The navigation computer 36 mayprocess the images in near real-time to determine states of the objects.The ultrasound imaging device may have any suitable configuration andmay be different than the camera unit 46 as shown in FIG. 1.

In another embodiment, the navigation system 32 and/or localizer 44 areradio frequency (RF)-based. For example, the navigation system 32 maycomprise an RF transceiver in communication with the navigation computer36. Any of the tool 20 and the patient 12 may comprise RF emitters ortransponders attached thereto. The RF emitters or transponders may bepassive or actively energized. The RF transceiver transmits an RFtracking signal and generates state signals to the controller 30 basedon RF signals received from the RF emitters. The navigation computer 36and/or the controller 30 may analyze the received RF signals toassociate relative states thereto. The RF signals may be of any suitablefrequency. The RF transceiver may be positioned at any suitable locationto effectively track the objects using RF signals. Furthermore, the RFemitters or transponders may have any suitable structural configurationthat may be much different than the trackers 52, 54, 56 as shown in FIG.1.

In yet another embodiment, the navigation system 32 and/or localizer 44are electromagnetically based. For example, the navigation system 32 maycomprise an EM transceiver coupled to the navigation computer 36. Thetool 20 and the patient 12 may comprise EM components attached thereto,such as any suitable magnetic tracker, electro-magnetic tracker,inductive tracker, or the like. The trackers may be passive or activelyenergized. The EM transceiver generates an EM field and generates statesignals to the controller 30 based upon EM signals received from thetrackers. The navigation computer 36 and/or the controller 30 mayanalyze the received EM signals to associate relative states thereto.Again, such navigation system 32 embodiments may have structuralconfigurations that are different than the navigation system 32configuration as shown throughout the Figures.

Those skilled in the art appreciate that the navigation system 32 and/orlocalizer 44 may have any other suitable components or structure notspecifically recited herein. Furthermore, any of the techniques,methods, and/or components described above with respect to thecamera-based navigation system 32 shown throughout the Figures may beimplemented or provided for any of the other embodiments of thenavigation system 32 described herein. For example, the navigationsystem 32 may utilize solely inertial tracking or any combination oftracking techniques.

As shown in FIG. 2, the controller 30 further includes software modules.The software modules may be part of a computer program or programs thatoperate on the manipulator computer 26, navigation computer 36, or acombination thereof, to process data to assist with control of thesystem 10. The software modules include instructions stored in memory onthe manipulator computer 26, navigation computer 36, or a combinationthereof, to be executed by one or more processors of the computers 26,36. Additionally, software modules for prompting and/or communicatingwith the operator may form part of the program or programs and mayinclude instructions stored in memory on the manipulator computer 26,navigation computer 36, or a combination thereof. The operator interactswith the first and second input devices 40, 42 and the one or moredisplays 38 to communicate with the software modules. The user interfacesoftware may run on a separate device from the manipulator computer 26and navigation computer 36.

The controller 30 includes a manipulator controller 60 for processingdata to direct motion of the manipulator 14. In one embodiment, as shownin FIG. 1, the manipulator controller 60 is implemented on themanipulator computer 26. The manipulator controller 60 may receive andprocess data from a single source or multiple sources. The controller 30further includes a navigation controller 62 for communicating the statedata relating to the femur F, tibia T, and tool 20 to the manipulatorcontroller 60. The manipulator controller 60 receives and processes thestate data provided by the navigation controller 62 to direct movementof the manipulator 14. In one embodiment, as shown in FIG. 1, thenavigation controller 62 is implemented on the navigation computer 36.The manipulator controller 60 or navigation controller 62 may alsocommunicate states of the patient 12 and tool 20 to the operator bydisplaying an image of the femur F and/or tibia T and the tool 20 on theone or more displays 38. The manipulator computer 26 or navigationcomputer 36 may also command display of instructions or requestinformation using the display 38 to interact with the operator and fordirecting the manipulator 14.

As shown in FIG. 2, the controller 30 includes a boundary generator 66.The boundary generator 66 is a software module that may be implementedon the manipulator controller 60, as shown in FIG. 2. Alternatively, theboundary generator 66 may be implemented on other components, such asthe navigation controller 62. The boundary generator 66 generatesvirtual boundaries 55 for constraining the tool 20, as shown in FIG. 3.Such virtual boundaries 55 may also be referred to as virtual meshes,virtual constraints, or the like. The virtual boundaries 55 may bedefined with respect to a 3-D bone model registered to the one or morepatient trackers 54, 56 such that the virtual boundaries 55 are fixedrelative to the bone model. The state of the tool 20 is tracked relativeto the virtual boundaries 55. In one embodiment, the state of the TCP ofthe tool 20 is measured relative to the virtual boundaries 55 forpurposes of determining when and where haptic feedback force is appliedto the manipulator 14, or more specifically, the tool 20.

A tool path generator 68 is another software module run by thecontroller 30, and more specifically, the manipulator controller 60. Thetool path generator 68 generates a path for the tool 20 to traverse,such as for removing sections of the anatomy to receive an implant. Oneexemplary system and method for generating the tool path is explained inU.S. Pat. No. 9,119,655, entitled, “Surgical Manipulator Capable ofControlling a Surgical Instrument in Multiple Modes,” the disclosure ofwhich is hereby incorporated by reference. In some embodiments, thevirtual boundaries 55 and/or tool paths may be generated offline ratherthan on the manipulator computer 26 or navigation computer 36.Thereafter, the virtual boundaries 55 and/or tool paths may be utilizedat runtime by the manipulator controller 60. Yet another software modulein FIG. 2 is an error detection module 96, the details of which aredescribed below.

II. Data Fusion and Filtering

As described above, the manipulator 14 and the navigation system 32operate with respect to different coordinate systems, i.e., themanipulator coordinate system MNPL and the localizer coordinate systemLCLZ, respectively. As such, in some embodiments, the controller 30fuses data from the manipulator 14 and the navigation system 32 forcontrolling the manipulator 14 using the navigation system 32. To do so,the controller 30 utilizes data fusion techniques as described herein.

In general, the controller 30 acquires raw data of various transformsbetween components of the system 10. The controller 30 combines andfilters this raw data, and creates a filtered relationship between thebase 16 of the manipulator 14 and the localizer 44, and ultimatelyproduces a filtered relationship between the base 16 and one or more ofthe patient trackers 54, 56 based on the filtered data to control themanipulator 14.

As used herein, the term “raw” is used to describe data representing anactual or true state of one or more components of the system 10 (e.g.,base 16, tool 20, localizer 44, trackers 52, 54, 56) relative to atleast another component(s) of the system 10, whereby the raw data isobtained instantaneously (in practically real time) from its respectivesource such that the raw data is unfiltered. The raw data is anunaltered or minimally processed measurement.

As used herein, the term “filtered” is used to describe raw data that isfiltered according to a filter length and that represents a filteredstate of one or more components of the system 10 relative to at leastanother component(s) of the system 10. The filtered data is delayed withrespect to the instantaneously obtained raw data due to application ofthe filter length in the filter. As will be described below, the rawdata is ultimately filtered to control the manipulator 14. Additionaldetails related to filtering are described below.

Each tracked component has its own coordinate system separate from themanipulator coordinate system MNPL and localizer coordinate system LCLZ.The state of each component is defined by its own coordinate system withrespect to MNPL and/or LCLZ. Each of these coordinate systems has anorigin that may be identified as a point relative to the origin of themanipulator coordinate system MNPL and/or the localizer coordinatesystem LCLZ. A vector defines the position of the origin of each ofthese coordinate systems relative to another one of the other coordinatesystems. The location of a coordinate system is thus understood to bethe location of the origin of the coordinate system. Each of thesecoordinate systems also has an orientation that, more often than not, isdifferent from the coordinate systems of the other components. Theorientation of a coordinate system may be considered as the relationshipof the X, Y and Z-axes of the coordinate system relative to thecorresponding axes of another coordinate system, such as MNPL and/orLCLZ.

The state of one component of the system 10 relative to the state ofanother component is represented as a transform (T). In one embodiment,each transform (T) is specified as a transformation matrix, such as a4×4 homogenous transformation matrix. The transformation matrix, forexample, includes three unit vectors representing orientation,specifying the axes (X, Y, Z) from the first coordinate system expressedin coordinates of the second coordinate system (forming a rotationmatrix), and one vector (position vector) representing position usingthe origin from the first coordinate system expressed in coordinates ofthe second coordinate system.

The transform (T), when calculated, gives the state (position and/ororientation) of the component from the first coordinate system givenwith respect to a second coordinate system. The controller 30calculates/obtains and combines a plurality of transforms (T1-T5) fromthe various components of the system 10 to control the manipulator 14,as described below.

As shown in FIG. 3, the transforms include a first transform (T1)between the base 16 and the tool 20, a second transform (T2) between thetool 20 and the tool tracker 52, a third transform (T3) between thelocalizer 44 and the tool tracker 52, and a fourth transform (T4)between the localizer 44 and one or more of the patient trackers 54, 56.One exemplary system and method for obtaining the transforms of thevarious components of the system is explained in U.S. Pat. No.9,119,655, entitled, “Surgical Manipulator Capable of Controlling aSurgical Instrument in Multiple Modes,” the disclosure of which ishereby incorporated by reference.

The output (e.g., values) of the transforms (T1)-(T4) are regarded asraw data when obtained instantaneously (in near real time) and whenunfiltered. Such raw data may be understood as being derived from aninstantaneous transform, i.e., an instantaneous determination of thestate of one component of the system 10 relative to the state of anothercomponent. On the other hand, the output values of such transforms areregarded as filtered data when the values are filtered, such as forreasons described below.

To implement the aforementioned data fusion technique, the controller 30acquires raw kinematic measurement data relating to a state of the tool20. The state of the tool 20 may be determined relative to themanipulator coordinate system MNPL. In some instances, the raw kinematicmeasurement data may relate to the state of the tool 20 relative to thebase 16. The state of the tool 20 is measured relative to the base 16because the state of the base 16 is assumed to be stationary and thetool 20 moves relative to the base 16. The raw kinematic measurementdata may be obtained from the manipulator controller 60. Specifically,as shown in FIG. 1, the controller 30 is configured to acquire the rawkinematic measurement data by acquiring one or more values of a firstinstantaneous transform (T1) between a state of the base 16 and thestate of the tool 20. Here, the raw kinematic measurement data may beobtained from kinematic data of the manipulator 14. In particular, thecontroller 30 may acquire one or more values of the first instantaneoustransform (T1) by applying a forward kinematic calculation to valuesacquired from the joint encoders 19. Thus, the state of the tool 20 canbe determined relative to the manipulator coordinate system MNPL withoutintervention from the navigation system 32. In other words, the firstinstantaneous transform (T1) may be obtained irrespective of anymeasurements from the navigation system 32.

In FIG. 3, the first transform (T1) is indicated by an arrow having anorigin at the base 16 and extending to and having an arrowhead pointingto the tool 20. In one exemplary convention used throughout FIG. 3, thearrowhead points to the component having its state derived or specifiedrelative to the component at the origin. Those skilled in the artappreciate that the first transform (T1) may be inverted such that theraw kinematic measurement data represents the state of the base 16relative to the state of the tool 20. Additionally, the first transform(T1) may be determined using any suitable reference frames (coordinatesystems) on the base 16 and the tool 20.

The controller 30 may further acquire known relationship data relatingto the state of the tool tracker 52 relative to the tool 20. In general,the known relationship data may be derived from any known relationshipbetween the tool tracker 52 and the tool 20. In other words, the tooltracker 52 and the tool 20 have a relationship that is known orcalculatable using any suitable method. The tool tracker 52 and the tool20 may be fixed or moving relative to each other. For example, the tooltracker 52 may be attached directly to the tool 20, as shown in FIG. 3.Alternatively, the tool tracker 52 may be attached to one of the links18, which move relative to the tool 20. In general, the tool tracker 52and the tool 20 are tracked by different techniques, i.e., by navigationdata and kinematic measurement data, respectively. The knownrelationship data assists to bridge the kinematic measurement data andthe navigation data by aligning the tool tracker 52 and the tool 20 to acommon coordinate system.

The known relationship data may be fixed (constant or static) orvariable. In embodiments where the known relationship data is fixed, theknown relationship data may be derived from calibration informationrelating to the tool tracker 52 and/or the tool 20. For example, thecalibration information may be obtained at a manufacturing/assemblystage, e.g., using coordinate measuring machine (CMM) measurements, etc.The known relationship data may be obtained using any suitable method,such as reading the known relationship data from a computer-readablemedium, an RFID tag, a barcode scanner, or the like. The knownrelationship data may be imported into system 10 at any suitable momentsuch that the known relationship data is readily accessible by thecontroller 30. In embodiments where the known relationship data isvariable, the known relationship data may be measured or computed usingany ancillary measurement system or components, such as additionalsensors, trackers, encoders, or the like. The known relationship datamay also be acquired after mounting the tool tracker 52 to the tool 20in preparation for a procedure by using any suitable technique orcalibration method.

Whether static or variable, the known relationship data may or may notbe regarded as raw data, as described herein, depending on the desiredtechnique for obtaining the same. In one embodiment, the controller 30may acquire the known relationship data by acquiring one or more valuesof a second instantaneous transform (T2) between the state of the tool20 and the state of the tool tracker 52. The second transform (T2) maybe determined with respect to any suitable coordinate system or frame onthe tool tracker 52 and the tool 20.

In other embodiments, the controller 30 may determine the secondtransform (T2) using any one or more of the kinematic measurement datafrom the manipulator 14 and navigation data from the navigation system32 such that known relationship data is not utilized. For example, thesecond transform (T2) may be calculated using one or more of rawkinematic measurement data relating to the state of the tool 20 relativeto the base 16 from the manipulator 14 and raw navigation data relatingto the state of the tracker 52 relative to the localizer 44 from thenavigation system 32. For example, the tool 20 may be rotated about itswrist to create a circular or spherical fit of the tool 20 relative tothe tool tracker 52.

The controller 30 is further configured to acquire, from the navigationsystem 32, raw navigation data relating to the state of the tool tracker52 relative to the localizer 44. The controller 30 may do so byacquiring one or more values of a third instantaneous transform (T3)between the tool tracker 52 and the localizer 44. The third transform(T3) can be calculated using navigation data alone, irrespective ofkinematic measurement data from the manipulator 14. Here, the state ofthe localizer 44 is assumed stationary and the tool tracker 52 isassumed to move during operation. Thus, the tool tracker 52 is trackedrelative to the localizer 44. The third transform (T3) is shown in FIG.3 using an arrow originating at the localizer 44 and pointing towardsthe tool tracker 52. The direction of transform (T3) is opposite totransforms (T1) and (T2). Accordingly, transform (T3) should be invertedprior to combining (T3) with transforms (T1) and (T2). Consistent withthe convention shown in FIG. 3, transform (T3) is hereinafter referencedas (T3′) to indicate the inverted nature of this transform relative tothe others in FIG. 3.

The fourth transform (T4) between the localizer 44 and one or more ofthe patient trackers 54, 56 may be determined by the controller 30 bysimilar techniques and assumptions as described above with respect totransform (T3). Specifically, the localizer 44 is configured to monitorthe state of one or more of the patient trackers 54, 56 and thecontroller 30 is configured to acquire, from the navigation system 32,raw navigation data relating to the state of the one or more of thepatient trackers 54, 56 relative to the localizer 44. The controller 30acquires the raw navigation data by acquiring one or more values of thefourth instantaneous transform (T4) between the one or more of thepatient trackers 54, 56 and the localizer 44.

As shown in FIG. 3, a fifth transform (T5) may be calculated between oneor more of the patient trackers 54, 56 and the virtual boundary 55associated with the anatomy of the patient 12 using registrationtechniques involving the navigation system 32 and the pointer (P).Specifically, the pointer (P) is tracked by the navigation system 32 viathe pointer tracker (PT) and is touched to various points on a surfaceof the anatomy. The navigation system 32, knowing the state of thepointer (P), registers the state of the anatomy with respect to one ormore of the patient trackers 54, 56. Alternatively, (T5) may be brokenup into additional (intermediate) transforms that are combined to resultin (T5). For example, the additional transforms may correspond toimplant placement (surgical planning) relative to a pre-op image,acquired using techniques such as CT, MRI, etc., and location of the oneor more patient trackers 54, 56 relative to that same pre-op image(registration). One exemplary system and method for registering theanatomy is explained in U.S. Pat. No. 9,119,655, entitled, “SurgicalManipulator Capable of Controlling a Surgical Instrument in MultipleModes,” the disclosure of which is hereby incorporated by reference.

FIG. 4 is a block diagram illustrating, in part, aspects of the datafusion techniques implemented by the controller 30 and as describedherein. As shown, transforms (T1)-(T4) are provided from theirrespective sources, as described above. The third transform (T3) isinputted into an inverse block 80 representing inverse matrixcalculation as described above. Thus, the output of the inverse block 80is the inverted third transform (T3′). Transform (T5) is omitted fromFIG. 4 because transform (T5) is not directly utilized by the datafusion block, whose final output gives the pose of the one or morepatient trackers 54, 56 with respect to the base 16. Instead, transform(T5) is utilized by downstream constraint generator blocks. Aspects ofthe data fusion calculations will be further described below.

The controller 30 is configured to combine the raw kinematic measurementdata, the known relationship data and the raw navigation data todetermine a raw relationship between the base 16 and the localizer 44.Specifically, the controller 30 combines values of each of the first,second, and third transforms (T1), (T2), (T3′) to determine the rawrelationship. As shown in FIG. 4, the controller 30 does so by applyinga matrix multiplier at block 82. The matrix multiplier 82 receives thetransforms (T1), (T2), and (T3′) as inputs and performs matrixmultiplication operations (including multiplication of matrices andconcatenation of transforms) to combine transforms (T1), (T2), and(T3′). The output of the matrix multiplier 82 is the combination oftransforms (T1), (T2), and (T3′).

When transforms (T1), (T2), and (T3′) are combined, the result is theraw relationship defining the state of the localizer 44 relative to thestate of the base 16. Viewed with respect to FIG. 3, this rawrelationship may be understood as the (instantaneous) spatialcombination of the arrows of (T1), (T2), and (T3′) originating at thebase 16, extending to the tool 20, through the tool tracker 52, andterminating at the localizer 44.

Since the transforms (T1), (T2), and (T3′) are generally raw data wheninputted into the matrix multiplier 82, the output of the matrixmultiplier 82 is consequently also raw data. In other words, the rawrelationship may be understood as representing an actual andinstantaneous state of the localizer 44 relative to the base 16. FIG. 4includes a node 84 provided at the output of the matrix multiplier 82representing for simplicity a point in the block diagram where the rawrelationship is available. The raw relationship, which is based on posedata, is primarily or entirely a spatial relationship. However, thesequences of raw relationships may also signify one or morerelationships that are derived from spatial parameters, such asrelationships with respect to velocity and/or acceleration of therespective components used in calculating the raw relationship. As willbe described, this raw relationship is used for more than one purpose.

As shown in FIG. 5, the raw relationship can be represented as a signal(bold line) in the time-domain. The signal in FIG. 5 is a 6DOF pose suchthat the plot of FIG. 5 can be considered a plot of a single component(x, y, z, r, p, y) or as the magnitude of position or angle. The plot ofFIG. 5 may be repeated for any one or more of these single components.As can be seen in FIG. 5, under normal operating conditions for thesystem 10, the raw relationship may exhibit variations resulting fromminor changes in the relationship between the base 16 and the localizer44. This variation can be due to physical movements and/or vibrations aswell as due to measurement noise.

The raw relationship is particularly important, as will be describedbelow, because both the base 16 and the localizer 44 are components ofthe system 10 that are assumed to be stationary and any appreciablevariation in this transform may reveal system errors not previouslydetectable.

With the raw relationship now determined, the controller 30 isconfigured to filter the raw relationship. As shown in FIG. 4, thecontroller 30 is configured to input the raw relationship into a firstfilter shown at block 86. The first filter 86 is a digital temporalfilter that filters the raw relationship in the time-domain. Filteringmay be understood as performing a type of averaging over a time historyof data. Filtering does not affect the update or measurement rate butrather the frequency of content of the output signal (e.g., how quicklyor smoothly the output changes), yet still providing a new output foreach sample. The first filter 86 results in latency in responding toeither the base 16 and/or the localizer 44 moving. As will be describedbelow, the first filter 86 may consequently result in spatial filteringby ultimately causing the manipulator 14 to lag (as compared with theraw relationship) in the spatial domain.

The first filtered relationship is available at node 88 in FIG. 4 at theoutput of the first filter 86. As will be described below, this firstfiltered relationship is involved in the calculation of constraints anddownstream control commands, ultimately used to control the manipulator14.

Filtering is performed on the raw relationship for two primary purposes,i.e., reducing noise and increasing system stability. If it werepossible, using the raw data alone to control the system 10 would bepreferred since doing so would give the fastest and most accurateresponse. However, filtering is needed because of practical limitationson the system 10. Such practical limitations include noise reduction andstability improvements by removal of positive feedback. The localizer 44is capable of operating at a much higher bandwidth as compared to themanipulator 14. That is, the localizer 44 tracks poses of the trackers52, 54, 56 faster than the manipulator 14 can respond. Controlling offthe raw relationship alone causes instability of system 10 because themanipulator 14 must react to commanded movements including those arisingfrom random signal variation (i.e., noise), which are provided at therate of the localizer 44. For example, the manipulator 14 would have torespond to every variation in the raw relationship shown in FIG. 5.Commanded movement occurring at a rate higher than the manipulator 14can respond, results in heat, audible noise, mechanical wear, andpotentially resonance which can cause system instability. Because thelocalization data feedback represents an outer positioning loop, it isimportant to not close this outer loop at a higher bandwidth than themanipulator 14 can respond, to avoid instability.

Filtering reduces the bandwidth of the outer positioning loop therebyaccommodating the bandwidth limitations of the inner positioning loop ofthe manipulator 14. Through such filtering, noise is reduced andstability is improved by removal or reduction in positive feedback. Themanipulator 14 is prevented from reacting to every minor change in theraw relationship. Otherwise, if the manipulator 14 had to react to noisydata, the manipulator 14 may be susceptible to spatial overshoot of tool20 along the tool path (such as when turning corners). Such spatialovershoot may cause the tool 20 to overcut the anatomy contrary to bestdesign practices of favoring undercutting rather than overcutting.Instead, filtering of the raw relationship causes the manipulator 14 tobehave more smoothly and run more efficiently. Further, noise may beintroduced into the system 10 through measurement error in the sensors(e.g., encoders, localization feedback data, etc.). Filtering limitsoverall noise to a threshold tolerable by the system 10.

The first filter 86 filters the raw relationship according to a firstfilter length to produce a first filtered relationship between the base16 and the localizer 44. In general, the greater the filter length forthe filter, the greater the filter latency (delay) and averaging. Inother words, a greater filter length provides more time to take intoaccount (or average) determinations of the raw relationship over time.Thus, the greater the filter length, the more smooth the filteredrelationship is over time. In other words, filtering affects thesmoothness of the output, rather than the input.

In one embodiment, the first filter 86 may be understood as averaginginputted data, or averaging a time history of data. The first filter 86may be one or more of various types of filters. For example, the firstfilter 86 may be an infinite impulse response (IIR) filter, a finiteimpulse response filter (FIR), a “boxcar” filter, a moving averagefilter, or the like. The filter length takes into account the timehistory of the filter. Examples of a filter length include a “timeconstant” for IIR filters, number of taps or coefficients (i.e., memorydepth) for a FIR (finite impulse response) filter, or any parameter of afilter relating to the amount of depth of data that is processed oraveraged. In addition, the filter order and length maybe chosen to meetrequirements of the application. Generally, the filtering describedherein applies to low pass-type filtering, however, other filter-types,such as band pass, high pass, or notch filtering may be utilized.

The filter length may be expressed as a unit of time. For example, thefilter length may be represented in milliseconds (ms) or seconds (s). Inone embodiment, the first filter length is greater than or equal to 100ms and less than or equal to 1000 ms. For example, the first filterlength may be 1000 ms. In this example, for any given time step, thefiltered relationship is based on the raw relationship determinationsaveraged over the previous 1000 ms relative to the given time step.

In FIG. 5, the effect of filtering is demonstrated whereby the rawrelationship is compared with its corresponding first filteredrelationship. The first filtered relationship is illustrated as a signalprovided directly over the signal of the raw relationship. Thevariations in the raw relationship signal are substantially reduced inthe filtered relationship signal. In other words, the filteredrelationship is a smoother version of the raw relationship. Thesmoothness of the filtered relationship depends on the value of thefilter length. It is to be understood that FIG. 5 is provided forsimplicity in explanation and that the signals of the raw relationshipand the first filtered relationship may be substantially different thanas shown and may exist over different durations of time from oneanother. Once again, the signal of the filtered relationship in FIG. 5is a 6DOF pose such that the plot of FIG. 5 can be considered a plot ofa single component (x, y, z, r, p, y) or as the magnitude of position orangle. The plot of FIG. 5 may be repeated for any one or more of thesesingle components.

Referring back to FIG. 4, the controller 30 also filters the rawnavigation data relating to the state of the one or more patienttrackers 54, 56 relative to the localizer 44 to produce filterednavigation data. Specifically, the fourth transform (T4) is inputtedinto a third filter 90, which is a temporal filter, such as a movingaverage filter, similar to the first filter 86. The output of the thirdfilter 90 is the filtered navigation data. The third filter 90 isutilized for many of the same reasons described above with respect tothe first filter 86, i.e., signal noise reduction and increasing systemstability. In this case, however, the third filter 90 is tuned based onthe bandwidth of the patient anatomy rather than the manipulator 14. Thethird filter 90 helps dampen the response of the manipulator 14 inresponding to self-induced anatomy (e.g., leg) motion due to toolforces. Without sufficient filtering, positive feedback and resultinginstability can result from responding too aggressively to theself-induced leg motion.

The third filter 90 may also be represented as a filter length and maybe any such filter length as those described herein for the first filter86. In one embodiment, the filter length of the third filter 90 isgreater than 10 ms and less than or equal to 100 ms. In one example, thefilter length of the third filter 90 is 60 ms. The third filter 90results in latency in responding to movement of the anatomy.

The filter length of the third filter 90 is generally less than thefilter length for the first filter 86 for practical considerations.Mainly, the first filter 86 filters the raw relationship between twocomponents of the system (i.e., the base 16 and the localizer 44) thatare assumed to be stationary. Measurements of the tool tracker 52 play arole in an outer position loop used to adjust/correct commands to themanipulator 14. The length of the first filter 86 increases the timeinterval over which manipulator 14 positioning errors are corrected, aminimum amount of which is required to maintain stability

To the contrary, the third filter 90 filters the raw navigation dataincluding the state of the one or more patient trackers 54, 56, whichare assumed to move during operation of the system 10. Movement of thepatient trackers 54, 56 may result from movement of a table on which thepatient 12 rests, movement of the patient 12 generally, and/or localmovement of the anatomy subject to the procedure. Movement may alsooccur from anatomy holder dynamics, cut forces affecting movement of theanatomy, and/or physical force applied to the anatomy by an externalsource, i.e., another person, or a collision with an object. It isdesirable to limit the length of the third filter 90, e.g., to allow themanipulator 14 to track/respond to motion within practical limits neededfor stability.

The first filter 86 can afford applying a relatively longer filterlength (slower response) to the raw relationship because thisrelationship is based on components assumed to be stationary. On theother hand, the third filter 90 requires a shorter filter length toallow fast response to movement of the one or more patient trackers 54,56.

As shown in FIG. 4, the controller 30 combines the first filteredrelationship (from the first filter 86) and the filtered navigation data(from the third filter 90) to produce a third filtered relationship. Thecontroller 30 does so by utilizing a second matrix multiplier at block92, which operates similar to the matrix multiplier at block 82. Thethird filtered relationship is a filtered relationship between the base16 and one or more of the patient trackers 54, 56. The output of thesecond matrix multiplier 92 is the combination of (first) filteredtransforms (T1)*(T2)*(T3′), and (third) filtered transform (T4). Thecombination of the filtered transforms (T1)*(T2)*(T3′) provides a signalat the output of the first filter 86, which can be seen at node 88 inFIG. 4, for reference. Viewed with respect to FIG. 3, the third filteredrelationship may be understood as the (filtered) spatial combination ofthe arrows of (T1), (T2), (T3′), and (T4) originating at the base 16,extending to the tool 20, through the tool tracker 52, to the localizer44 and terminating at one or more of the patient trackers 54, 56.

The controller 30 is configured to utilize the third filteredrelationship to generate the tool path and/or to position the virtualboundaries 55 relative to the patient anatomy and to convert the sameinto coordinates relative to the base 16 for controlling the manipulator14. In FIG. 4, the output of the second matrix multiplier at block 92 ispassed to the manipulator controller 60 such that the path generator 69generates the tool path based on the third filtered relationship andsuch that the boundary generator 66 generates the virtual boundaries 55based on the third filtered relationship.

III. System and Method for Detecting Errors and Loss of System Accuracy

Techniques have been described above for fusing the kinematicmeasurement data and navigation data and filtering the same to obtainthe (intermediate) first filtered relationship, and ultimately, the(final) third filtered relationship for controlling the manipulator 14.Notably, the raw relationship between the base 16 and the localizer 44remains available (at node 84 in FIG. 4) prior to being filtered by thefirst filter 86. This raw relationship is exploited for techniquesdescribed herein to detect errors and/or loss of accuracy in the system10. Details regarding the theory and implementation of this errordetection technique are provided below.

During typical operation of the system 10, there is an assumption thatboth the base 16 and the localizer 44 are stationary. Therefore,provided that neither the base 16 nor the localizer 44 moves duringmachining, digital filtering (as described above) can be performed onthe raw relationship without directly affecting the dynamic response ofthe manipulator 14 to tracking of movement of the patient trackers 54,56. However, there are downsides to this filtering. For example, if thebase 16 and/or the localizer 44 do move during machining, then the firstfiltered relationship (base 16 to localizer 44), and ultimately, thethird filtered relationship (base 16 to patient trackers 54, 56) becomeinaccurate and/or invalid. Furthermore, as described above, the firstfilter 86 generally has a longer filter length to accommodate stabilityrequirements of the outer position loop. Extracting the raw relationshipbefore filtering by the first filter 86 allows error determinations tobe made instantaneously or near instantaneously that would otherwise bedelayed by filtering.

Even though the assumption is that neither the manipulator 14 nor thelocalizer 44 is actively moving during machining, it is desirable toallow the raw relationship to adjust (via filtering) during runtimerather than simply performing a “one time” registration to compute afixed transform. The outer positioning loop is enabled by allowing thisraw relationship to adjust gradually during runtime. In other words, ifthe raw relationship were to be held constant, the outer positioningloop would not be active. Errors in the positioning of the manipulator14, e.g., based on encoder data or calibration errors, are corrected bythe system 10 by making fine adjustments to the raw relationship overtime. In a sense, this can be thought of as the manipulator 14positioning the localizer 44 (virtually) as needed relative to its base16 so that the tool tracker 52 and the one or more patient trackers 54,56 are in correct positions relative to each other. Said differently, ifthe first transform (T1) is not aligned with the third transform (T3),the manipulator 14 virtually adjusts the localizer 44 to be in thecorrect state to align the transforms (T1), (T3). The result is that thesubsequent commands to the manipulator 14, converted from anatomycoordinates to base coordinates using this updated transform, cause thetool positioning to converge to a more accurate result, compared to ifthe localization data from the tool tracker 52 was not used.

From an accuracy standpoint, if all components in the system 10 wereperfectly accurate, then the raw relationship would be a constant withno variation or noise. However, this is not the case, as shown by theraw relationship signal in FIG. 5. Variation in the raw relationshipexists and may be correlated to errors or loss of accuracy in the system10. As a positioning device, the manipulator 14 is designed to have veryhigh repeatability and incremental accuracy (in a small/local workingvolume). However, the manipulator 14 may not be as accurate whenmeasured over its entire workspace. On the other hand, the localizer 44is designed to exhibit high and consistent accuracy over its entireworkspace. As the manipulator 14 moves from one part of the workspace toanother, there will be some (expected) positioning error as a result.This error is measured by the navigation system 32 through the localizer44 and the tool tracker 52. As a result, the raw relationship of thetransform between the base 16 and the localizer 44 updates. This updateis expected to be small (approximately 1 mm or less), within the rangeof the global positioning accuracy of the manipulator 14. These updatesare reflected by the oscillations in the raw relationship signal in FIG.5.

A variation of the raw relationship over time gives an indication of theoverall positioning error in the system 10 from a perspective of thelocalizer 44. The raw relationship is expected to see small and gradualchanges over time based on calibration or other positioning errors inthe system 10, as shown in FIG. 5. However, any abrupt or significantmagnitude changes in the raw relationship indicate a notable issue inthe system 10. One example of such abrupt change in the raw relationshipis shown in its signal in FIG. 5 wherein the magnitude of the signalexhibits a spike, which can be seen instantaneously in the rawrelationship and delayed in the first filtered relationship. To detect aloss in accuracy of the system 10, the error detection technique isprovided to compare the values of the raw relationship (or a lightlyfiltered version of the raw relationship) with the values of the firstfiltered relationship, which is more heavily filtered.

To implement this error detection technique, the controller 30, as shownin FIG. 4, is configured, according to one embodiment, to filter the rawrelationship by applying the raw relationship to a second filter 94. Thesecond filter 94 has a (second) filter length being shorter than thefirst filter length of the first filter 86. That is, the rawrelationship is lightly filtered relative to the filtering of the firstfiltered relationship. The output of the second filter 94 is a secondfiltered relationship between the base 16 and the localizer 44. Thesecond filtered relationship is generated specifically for the errordetection technique. In one example, the filter length of the secondfilter 94 is greater than 0 ms and less than or equal to 50 ms, ascompared to, for example, the filter length of 1000 ms for the firstfilter 86.

In this embodiment, the raw relationship is filtered by the secondfilter 94 to remove high frequency noise or high frequency jitter fromthe raw relationship signal, and to help isolate from false trips on theerror detection. The amount of filtering (filter length) applied to theraw relationship for error detection purposes should be chosen, suchthat, it is long enough to remove the aforementioned high frequencynoise/jitter in the signal, but short enough such that error detectionreacts quickly enough to prevent significant errors in machining due toloss of accuracy in the system 10. When filtered, it is generallyunderstood that the filter length is greater than zero. In one preferredembodiment, the error detection technique filters the raw relationshipby a filter length allowing detection of errors in a time intervalsimilar to the filter length of the closed loop positioning of thesystem 10. In this embodiment, the controller 30 compares the firstfiltered relationship to the second filtered relationship to determinewhether an error has occurred relating to at least one of themanipulator 14 and the localizer 44.

In another embodiment, the controller 30, as shown in FIG. 4, isconfigured to compare the raw relationship (instead of the secondfiltered relationship) to the first filtered relationship to determinewhether the error has occurred. In this example, the raw relationship isnot filtered. Hypothetically, it may also be understood that the rawrelationship, in this embodiment, is filtered by the second filter 94having a filter length of zero. If filtered by filter length of zero,the raw relationship “passes through” the second filter 94. Whetherunfiltered, or filtered by filter length of zero, the raw relationshipis the same in both of these instances. In this embodiment, thecontroller 30 compares the raw relationship to the first filteredrelationship to determine whether the error has occurred relating to atleast one of the manipulator 14 and the localizer 44.

The controller 30 is configured to make this comparison by accessingeach of the first filtered relationship and the raw relationship/secondfiltered relationship. The first filtered relationship, as shown in FIG.4, remains available at node 88 before being inputted into the secondmatrix multiplier 92 for controlling the manipulator 14. The firstfiltered relationship is duplicated or accessed at this point 88 forerror detection purposes, leaving the first filtered relationship intactfor control purposes downstream. The raw relationship or second filteredrelationship are accessible from the branch in FIG. 4 stemming from node84 and comprising the second filter 94, if utilized.

Each of the first filtered relationship and the raw relationship/secondfiltered relationship are then passed to the error detection module 96.The error detection module may be implemented by the manipulatorcontroller 60, as shown in FIG. 2. The error detection module 96 maycomprise any suitable computer-executable instructions, algorithms,and/or logic for comparing the raw relationship or second filteredrelationship to the first filtered relationship. In one embodiment, theerror detection module 96 compares the raw relationship or secondfiltered relationship to the first filtered relationship by determininga difference between the same.

In general, the first filtered relationship alone may not be suitablefor error handling. Mainly, the filter length of the first filter 86 maybe too long for real time error detection. In other words, the system 10would not be able to react to detection of the error quickly enough ifthe first filtered relationship alone is utilized. As part of this errorhandling method, the first filtered relationship is utilized instead asa ‘steady state’ or mean value of the raw relationship/second filteredrelationship. By subtracting the first filtered relationship from theraw relationship/second filtered relationship, the signal is de-trended(i.e., its mean value updated over time by the first filter 86 isremoved) such that the variation may be more easily evaluated. Theresulting difference represents variation or changes in the rawrelationship over time. In turn, the amount of variation between thefirst filtered relationship and the raw relationship/second filteredrelationship gives an indicator of degradation in runtime systemaccuracy.

In one embodiment, comparing the first filtered relationship to the rawrelationship/second filtered relationship occurs by converting eachrelationship to its respective positional (xyz) and angular componentsand by subtracting the respective components of each relationship. Aftersubtraction, the magnitude of the positional and angular components maybe computed, respectively, and each compared to a correspondingpositional/angular predetermined threshold, as shown in FIG. 6. Thus,the result of this comparison is shown in FIG. 6.

The signal in FIG. 6 is a function of the separation between the firstfiltered relationship and the raw relationship/second filteredrelationship. In FIG. 6, the relationships are shown according to anyone or more of component of the spatial error (x, y, z, r, p, y), theposition magnitude, or the angle magnitude, with respect to time. Thatis, the greater the separation between these transforms in FIG. 5, thegreater the magnitude of variation in FIG. 6. This variation is comparedto the predetermined threshold, as shown in FIG. 6. If the variationexceeds the threshold, a loss in accuracy of the system 10 isdetermined. In FIG. 6, the threshold is indicated by a sample upperthreshold (+) that also represents the floor of an error detectionrange. In FIG. 5, an abrupt change in the raw relationship/secondfiltered relationship occurs with respect to the first filteredrelationship. In turn, this abrupt change causes, at the same time step,a corresponding large separation between the transforms in FIG. 6. Whenthe variation signal in FIG. 6 exceeds the threshold and enters theerror detection range, the error in the system 10 is detected.

Preferably, the threshold should be greater than zero such thatminor/negligible variations between the transforms do not triggererrors. Instead, the sensitivity of the threshold should be set suchthat only noticeable and/or meaningful errors of the system 10 exceedthe threshold. The threshold for the positional and/or angular errorsmay be chosen based on a predetermined error budget of the system 10.For example, if the system 10 is designed to have a total error of lessthan 0.5 mm, the positional threshold may be set at 1.0 mm such thatthere is some safety margin to avoid false trips, but enough sensitivityto detect subtle degradations in performance. The threshold may be aposition threshold, an angle (orientation) threshold, or any combinationthereof. The threshold may be an upper threshold or a lower thresholdand may have other configurations other than that shown in FIG. 6.

In an alternative embodiment, the error can be detected by evaluatingeither of the raw relationship or second filtered relationship (alone)for variations, without comparing the same to the first filteredrelationship. Mainly, comparing (or subtracting) the first filteredrelationship and the raw relationship/second filtered relationship isdone for convenience so that the result can be compared to thepredetermined threshold. Using either of the raw relationship/secondfiltered relationship alone would require detecting changes in a presentvalue relative to past values. On the other hand, comparing the firstfiltered relationship and the raw relationship/second filteredrelationship (as described above) allows simple comparison to thepredetermined threshold rather than the analysis needed to detect theaforementioned changes of the present value relative to past values.When utilizing the raw relationship alone, detection of such changes canbe done using a high pass filter and looking for a signal above thepredetermined threshold on the output. When utilizing the secondfiltered relationship alone, which is a low-pass filter, detection ofsuch changes can also be done using a high pass filter to detect abruptchange. This technique is equivalent to passing of the raw relationshipinto a band pass filter and performing comparison of the output to thepredetermined threshold. To reiterate, using the signal from the firstfiltered relationship, which is used for control purposes, alone is notsuitable to detect the aforementioned error. Those skilled in the artappreciate that there are other mathematically equivalent techniques todetect the error other than those described specifically herein.

In any of the aforementioned embodiments, the detected error generallyindicates the error in the system 10 or a loss in accuracy of the system10. Because the error detection technique compares relationships betweenthe base 16 and the localizer 44, the error generally relates to atleast one of the manipulator 14 and the localizer 44.

Specific examples of the error as it relates to the manipulator 14include, but are not limited to, the following: undesired movement ofthe base 16 (such as during machining); improper operation of themanipulator 14; failure of any one or more components of the manipulator14 such as damage to one or more of the links 18 and/or increase in gearbox compliance at any one or more of the joints (J1-J6); improperkinematic calibration of the manipulator 14; failure or errors in theencoders (e.g., slippage, noise, nonlinearity, misalignment); and anyother electrical or mechanical degradation of the same.

Specific examples of the error as it relates to the localizer 44include, but are not limited to, the following: undesired movement ofthe localizer 44 (such as during machining); improper operation of thelocalizer 44; failure of any one or more components of the localizer 44;improper calibration of the localizer 44; and any other electrical ormechanical degradation of the same. Additionally, the error may indicateimproper calibration of the tool 20. The error may relate to any one ormore of the aforementioned problems. The error may relate to otherproblems associated with any other component or subcomponent notspecifically recited herein and being in the path of transforms (T1),(T2), and (T3′).

Because the techniques described herein use the combination of data fromthe manipulator 14 and the localizer 44, the techniques are able todetect failures not able to be detected in either component standalone.In this manner, the error detection techniques provide a check of thefull system. This helps avoid a single source of failure, a criticaldesign aspect for a safety-critical system, such as surgical robotics.The techniques also enable detection of a stack up problem, in which theaggregate error (based upon multiple subtle errors adding up) exceeds anacceptable limit.

The controller 30 is configured to modify operation of the system 10and/or manipulator 14 in response to determining that the error hasoccurred. This may be done so to prevent damage to the patient 12 and/orthe system 10 as a result of operation of the manipulator 14 during theerror. The controller 30 may do so using any suitable technique, such ascommanding the manipulator 14 to hold position, power off, lock acurrent state of the manipulator 14, and the like. Additionally, oralternatively, the controller 30 may power off the tool 20 or energyapplicator 24 by, for example, stopping burr rotation, saw actuation,and/or application of ultrasonic energy thereto, and the like. Thoseskilled in the art appreciate that controller 30 may modify operation ofthe system 10 and/or manipulator 10 according to other techniques notdescribed herein in response to determining that the error has occurred.

In response to detection of the error, the controller 30 may commandprompt of an alert or notification 102 on any one or more of thedisplays 38 of the system 10, as shown on the display in FIG. 1, forexample. The alert or notification 102 relates to occurrence of theerror to inform operator(s) of the system 10 that the error, detectedaccording to the aforementioned techniques, has occurred. The alert ornotification 102 may be audible, visual, haptic or any combination ofthe same. In other embodiments, the alert or notification 102 may beimplemented using any other component of the system 10, such as themanipulator 14, the manipulator cart 17, the navigation system 32, orthe like.

The aforementioned error detection method provides a bona fide means fordetecting whether a loss in accuracy or an error has occurred in thesystem 10. In general, the error detection technique may do so withoutprecisely identifying what the error is or where in the system 10 theerror occurred. From a real time control standpoint, the precise causeof the error is not critical if the controller 30 ultimately halts thesystem or manipulator 14 and informs the operator(s). In other words,adverse consequences of the error are mitigated by immediately haltingthe system or manipulator 14. However, there may be practical reasonsfor determining the precise cause of the error. For example, suchreasons may be related to improving service and diagnosticscapabilities, improving GUI feedback to the user to assess the failure,and the like.

In such instances, the aforementioned error detection technique may becombined with auxiliary sensors to provide further specificity as to thecause of the error. Examples of such auxiliary sensors include, but arenot limited to, sensors (such as secondary joint encoders,accelerometers, inertial sensors, velocity sensors, position sensors,etc.) in the localizer 44 and/or the manipulator 14, sensors in any oneor more of the carts 17, 34 to detect brake release, auxiliary positionsensing (e.g., lower bandwidth type), or the like. For example, one ormore auxiliary sensors in the localizer 44 and/or the manipulator 14 maybe configured to detect abrupt changes for the respective component. Thecontroller 30 may determine whether the error occurred from thelocalizer 44 and/or the manipulator 14 by analyzing these measurementsin conjunction with other measurements. Similar techniques may beapplied to any other components of the system 10.

These auxiliary measurements may be used to directly detect common(expected) failure modes, and/or rule out causes of failure, allowingprocess of elimination to point to alternate causes. Additionally, ifauxiliary sensors from more than one component detect an abrupt change,the controller 30 may compare/combine these measurements, and forexample, apply weighting factors to the measurements to identify whichcomponent produced the error and by how much each component contributedto the error, as a whole. In other cases, the error may be tripped dueto user action, e.g., moving the localizer 44 while machining. In suchcases, the auxiliary sensors can be used to detect this error and givebetter guidance to the user to avoid future errors.

Such auxiliary sensors may provide measurements that can be detected andanalyzed by the controller 30 and evaluated with respect to the detectederror to determine the cause of the error. The level of specificity asto determining the cause of the error may depend on the particularity,quantity, location of the auxiliary sensors. In some embodiments, theauxiliary sensors may be used to rule out common errors or user actions(rather than component failures) in the system 10, such as undesiredmovement of the base 16 of the manipulator 14 and/or localizer 44, andthe like.

Several embodiments have been described in the foregoing description.However, the embodiments discussed herein are not intended to beexhaustive or limit the invention to any particular form. Theterminology, which has been used, is intended to be in the nature ofwords of description rather than of limitation. Many modifications andvariations are possible in light of the above teachings and theinvention may be practiced otherwise than as specifically described.

The many features and advantages of the invention are apparent from thedetailed specification, and thus, it is intended by the appended claimsto cover all such features and advantages of the invention which fallwithin the true spirit and scope of the invention. Further, sincenumerous modifications and variations will readily occur to thoseskilled in the art, it is not desired to limit the invention to theexact construction and operation illustrated and described, andaccordingly, all suitable modifications and equivalents may be resortedto, falling within the scope of the invention.

1. A robotic surgical system comprising: a surgical tool; a manipulatorcomprising a plurality of links and being configured to support thesurgical tool; a navigation system comprising a tracker and a localizerbeing configured to monitor a state of the tracker; and one or morecontrollers coupled to the manipulator and the navigation system andbeing configured to: determine a relationship between one or morecomponents of the manipulator and one or more components of thenavigation system by being configured to utilize kinematic measurementdata from the manipulator and navigation data from the navigationsystem; and utilize the relationship to determine whether an error hasoccurred relating to at least one of the manipulator and the navigationsystem, wherein the error is defined as at least one of: undesiredmovement of the manipulator; undesired movement of the localizer;failure of any one or more components of the manipulator or thelocalizer; and improper calibration data.
 2. The robotic surgical systemof claim 1, wherein the one or more controllers are configured to filterthe relationship to produce a filtered relationship between the one ormore components of the manipulator and the one or more components of thenavigation system.
 3. The robotic surgical system of claim 2, whereinthe one or more controllers are configured to produce the filteredrelationship to control the manipulator.
 4. The robotic surgical systemof claim 1, wherein the one or more controllers are configured toutilize the relationship by being configured to compare present valuesof the relationship relative to past values of the relationship todetermine whether the error has occurred.
 5. The robotic surgical systemof claim 1, wherein the manipulator comprises a base, and wherein theone or more controllers are configured to determine the relationshipbetween one or more components of the manipulator and one or morecomponents of the navigation system by further being configured to:determine values of a first transform between a state of the base of themanipulator and a state of a either the localizer or the tracker of thenavigation system; determine values of a second transform between thestate of the localizer and the state of the tracker; and combine valuesof the first and second transforms to determine the relationship.
 6. Therobotic surgical system of claim 1, wherein the tracker is coupled tothe surgical tool.
 7. The robotic surgical system of claim 1, whereinthe manipulator comprises a base and wherein the tracker is coupled tothe base or to one of the links of the manipulator.
 8. The roboticsurgical system of claim 1, wherein the tracker is an inertial tracker.9. The robotic surgical system of claim 1, wherein the one or morecontrollers are configured to modify operation of one or more of themanipulator and the surgical tool in response to determining that theerror has occurred.
 10. The robotic surgical system of claim 1, whereinthe one or more controllers are configured to generate an alert ornotification relating to occurrence of the error.
 11. The roboticsurgical system of claim 1, further comprising one or more auxiliarysensors coupled to one or more of the manipulator and the localizer andwherein the one or more controllers are further configured to analyzemeasurements from the one or more auxiliary sensors to determine a causeof the error.
 12. A method of operating a robotic surgical systemcomprising a surgical tool, a manipulator comprising a plurality oflinks and being configured to support the surgical tool, a navigationsystem comprising a tracker and a localizer being configured to monitora state of the tracker, and one or more controllers coupled to themanipulator and the navigation system, the method comprising the one ormore controllers: determining a relationship between one or morecomponents of the manipulator and one or more components of thenavigation system by utilizing kinematic measurement data from themanipulator and navigation data from the navigation system; andutilizing the relationship for determining whether an error has occurredrelating to at least one of the manipulator and the navigation system,wherein the error is defined as at least one of: undesired movement ofthe manipulator; undesired movement of the localizer; failure of any oneor more components of the manipulator or the localizer; and impropercalibration data.
 13. The method claim 12, comprising the one or morecontrollers filtering the relationship to produce a filteredrelationship between the one or more components of the manipulator andthe one or more components of the navigation system.
 14. The method ofclaim 13, comprising the one or more controllers producing the filteredrelationship for controlling the manipulator.
 15. The method of claim12, comprising the one or more controllers utilizing the relationship bycomparing present values of the relationship relative to past values ofthe relationship for determining whether the error has occurred.
 16. Themethod of claim 12, wherein the manipulator comprises a base, andcomprising the one or more controllers determining the relationshipbetween one or more components of the manipulator and one or morecomponents of the navigation system by further: determining values of afirst transform between a state of the base of the manipulator and astate of a either the localizer or the tracker of the navigation system;determining values of a second transform between the state of thelocalizer and the state of the tracker; and combining values of thefirst and second transforms to determine the relationship.
 17. Themethod of claim 12, comprising the one or more controllers modifyingoperation of one or more of the manipulator and the surgical tool inresponse to determining that the error has occurred.
 18. The method ofclaim 12, comprising the one or more controllers generating an alert ornotification relating to occurrence of the error.
 19. The method ofclaim 12, wherein the tracker is coupled to the manipulator or thesurgical tool.
 20. A method of operating a robotic surgical systemcomprising a surgical tool, a manipulator comprising a base and aplurality of links and being configured to support the surgical tool, anavigation system comprising a tracker and a localizer being configuredto monitor a state of the tracker, and one or more controllers coupledto the manipulator and the navigation system, the method comprising theone or more controllers: determining values of a first transform betweena state of the base of the manipulator and a state of a either thelocalizer or the tracker of the navigation system; determining values ofa second transform between the state of the localizer and the state ofthe tracker; and combining values of the first and second transforms todetermine whether an error has occurred relating to at least one of themanipulator and the localizer.